package com.hc.mapper;

import com.hc.domain.Proj;
import com.hc.domain.User;
import com.hc.query.ProjSearchVO;
import com.hc.query.ProjVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author: hecai
 * @date: 2021/11/9 11:21
 * @description:
 */
@Mapper
public interface ProjMapper {
    /**
     * 根据项目id删除项目
     * @param id
     * @return
     */

    int deleteByPrimaryKey(Long id);

    int insert(Proj record);

    int insertSelective(Proj record);

    Proj selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(Proj record);

    int updateByPrimaryKey(Proj record);

    List<Proj> getAllProj(@Param("category") Integer category,@Param("name") String name);

    List<Proj> getAllProjByCondition(ProjVO projVO);

    Proj getProjInfoById(@Param("id") Integer id,@Param("category") Integer category);
    /**
     * 查询Proj
     *
     * @return
     */
    List<Proj> selectProjsByCondition(ProjSearchVO projSearchVO);

    List<Proj> selectProjsByIdRange(@Param("projIds") List<Long> projIds,@Param("projName")String projName);

    List<Proj> selectProjByArray(@Param("projIds") List<Long> projIds);

    List<Long> selectProjLikeName(@Param("names") String names);


    /**
     * 删除
     * @param id
     * @return
     */
    int changeStateToDelete(Long id);

    List<Proj> selectByName(@Param("name") String name,@Param("status") Integer status);
}